/*
https://blog.csdn.net/weixin_39100687/article/details/78031780
之前是用angular的,转到VUE因为用的vue-cli,直接跳过了vue自带过滤器的版本,当用的时候就有点无措了,所以按照angular的习惯写了几个简单的过滤器,如下:

ps:1. 因为用的vue-cli,这些代码位于src下的main.js
   2.至于orderBy,limitTo和filter一般使用会配合v-for,而vue2.0使用过滤器不再支持v-for,所以不在本次说明咯.........
*/
//number 显示小数点后数字的个数 因为用的toFixed方法,是四舍五入的


Vue.filter('number', function(value, num) {
    if(!value) 
        return ''
    if(arguments.length == 1)
        return value;
    if(arguments.length == 2)
        return (value/1).toFixed(num);
})

//货币过滤器
Vue.filter('currency', function(value, symbol) {
    if(!value)
        return ''
    if(arguments.length == 1)
        return '￥' + value.toFixed(2);
    if(arguments.length == 2)
        return symbol + value.toFixed(2);
})

// data 过滤器 一个参数
//  yyyy表示年 MM表示月 dd表示日期 HH表示时 mm表示分 SS表示秒 DD表示星期
Vue.filter('date', function(value, format) {
    var value = new Date(value);
    var _ = /([a-zA-Z]+|[^A-Za-z]+)/g;
    var time = format.match(_);
    for(var i = 0; i < time.length; i++) {

if(time[i] == 'yy')
            time[i] = value.getFullYear() % 100;
        if(time[i] == 'yyyy')
            time[i] = value.getFullYear();
        if(time[i] == 'MM')
            time[i] = value.getUTCMonth() + 1;
        if(time[i] == 'dd')
            time[i] = value.getDate();
        if(time[i] == 'HH')
            time[i] = value.getHours();
        if(time[i] == 'mm')
            time[i] = value.getMinutes();
        if(time[i] == 'SS')
            time[i] = value.getSeconds();
        if(time[i] == 'DD')
            time[i] = value.getDay();
    }
    return time.join('');
})


//在月份、日期、小时等小于10前面补0
let padDate = function (value) {
  return value <10 ? '0' + value:value;
};
 
let formatDateTime = value => {
  var date = new Date(value);
  var year = date.getFullYear();
  var month = padDate(date.getMonth()+1);
  var day = padDate(date.getDate());
  var hours = padDate(date.getHours());
  var minutes = padDate(date.getMinutes());
  var seconds = padDate(date.getSeconds());
  console.log(1111111111111111111111)
  return year + '-' + month + '-' + day + '-' + ' ' + hours + ':' + minutes + ':' + seconds;
}
 


//首字母大写
Vue.filter('uppercase', function(value) {    //全局过滤器
  if (!value)
    return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})
/*
//使用如下
<h1>{{1505805570005 | date('yy-MM-dd HH:mm:SS 星期DD')}}</h1>
//显示为 17-9-19 
*/

